package com.chkj.fbook.business.domain;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Time;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.commons.lang3.StringUtils;



/**
 * 桌位/座位预约时间表
 * 
 * @author shh_he
 * @email 980027164@qq.com
 * @date 2023-10-02 21:43:17
 */
public class SeatTimeDO implements Serializable {
	private static final long serialVersionUID = 1L;
	
	//主键ID
	private String id;
	//排序
	private Integer sort;
	//开始时间
	private Time startTime;
	//结束时间
	private Time endTime;
	//预约时间断
	private String timeSlot;
	//价格
	private BigDecimal price;
	//总小时
	private Double hour;
	//创建时间
	private Date createTime;
	//更新时间
	private Date updateTime;
	
	//非表字段-----------------------------------
	//开始时间Str
	private String startTimeStr;
	//结束时间Str
	private String endTimeStr;

	/**
	 * 设置：主键ID
	 */
	public void setId(String id) {
		this.id = id;
	}
	/**
	 * 获取：主键ID
	 */
	public String getId() {
		return id;
	}
	/**
	 * 设置：开始时间
	 */
	public void setStartTime(Time startTime) {
		this.startTime = startTime;
	}
	/**
	 * 获取：开始时间
	 */
	public Time getStartTime() {
		return startTime;
	}
	/**
	 * 设置：结束时间
	 */
	public void setEndTime(Time endTime) {
		this.endTime = endTime;
	}
	/**
	 * 获取：结束时间
	 */
	public Time getEndTime() {
		return endTime;
	}
	/**
	 * 设置：预约时间断
	 */
	public void setTimeSlot(String timeSlot) {
		this.timeSlot = timeSlot;
	}
	/**
	 * 获取：预约时间断
	 */
	public String getTimeSlot() {
		return timeSlot;
	}
	/**
	 * 设置：价格
	 */
	public void setPrice(BigDecimal price) {
		this.price = price;
	}
	/**
	 * 获取：价格
	 */
	public BigDecimal getPrice() {
		return price;
	}
	/**
	 * 设置：总小时
	 */
	public void setHour(Double hour) {
		this.hour = hour;
	}
	/**
	 * 获取：总小时
	 */
	public Double getHour() {
		return hour;
	}
	/**
	 * 设置：创建时间
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	/**
	 * 获取：创建时间
	 */
	public Date getCreateTime() {
		return createTime;
	}
	/**
	 * 设置：更新时间
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	/**
	 * 获取：更新时间
	 */
	public Date getUpdateTime() {
		return updateTime;
	}
	/**
	 * 获取：排序
	 */
	public Integer getSort() {
		return sort;
	}
	/**
	 * 设置：排序
	 */
	public void setSort(Integer sort) {
		this.sort = sort;
	}
	public String getStartTimeStr() {
		
		if(StringUtils.isNotBlank(startTimeStr)) {
			return startTimeStr;
		}
		
		if(this.getStartTime()!=null) {
			SimpleDateFormat format = new SimpleDateFormat("HH:mm"); 
			return format.format(new Date(this.getStartTime().getTime()));
		}
		
		return startTimeStr;
	}
	public void setStartTimeStr(String startTimeStr) {
		
		if(StringUtils.isNotBlank(startTimeStr)) {
			SimpleDateFormat format = new SimpleDateFormat("HH:mm"); 
			 Date d = null; 
			 try { 
			  d = format.parse(startTimeStr); 
			 } catch (Exception e) {} 
			 Time time = new Time(d.getTime()); 
			 if(time!=null) {
				 this.startTime = time;
			 }
		}
		
		this.startTimeStr = startTimeStr;
	}
	public String getEndTimeStr() {
		
		if(StringUtils.isNotBlank(endTimeStr)) {
			return endTimeStr;
		}
		
		if(this.getEndTime()!=null) {
			SimpleDateFormat format = new SimpleDateFormat("HH:mm"); 
			return format.format(new Date(this.getEndTime().getTime()));
		}
		
		return endTimeStr;
	}
	public void setEndTimeStr(String endTimeStr) {
		
		if(StringUtils.isNotBlank(endTimeStr)) {
			SimpleDateFormat format = new SimpleDateFormat("HH:mm"); 
			 Date d = null; 
			 try { 
			  d = format.parse(endTimeStr); 
			 } catch (Exception e) {} 
			 Time time = new Time(d.getTime()); 
			 if(time!=null) {
				 this.endTime = time;
			 }
		}
		
		this.endTimeStr = endTimeStr;
	}
}
